package 基础练习; /**
 * @author： li
 * @date： 2021-11-28 22:51
 * @version 1.0
 */
import java.util.Scanner;
/**
 * @author： ljm
 * @date： 2021-11-28 22:51
 * @version 1.0
 */

public class 阶乘计算01 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int i,j;
        int jw = 0;			//进位
        int temp;			//存放中间结果
        int max = 4000;		//4000位
        int[] a = new int[max];
        a[0] = 1;

        for(i = 2; i <= n; i ++) {
            for(j = 0; j < max; j++) {
                temp = a[j] * i + jw;
                jw = temp / 10;
                a[j] = temp % 10;
            }
        }

        //找出前置0和结果之间的界限
        for(i = max-1;i >= 0;i --){
            if(a[i] != 0)
                break;
        }
        System.out.println("在"+i+"位");
        //倒序输出
        for(j = i;j >= 0;j --)
            System.out.print(a[j]);
    }
}



